package com.Logistics.mycommon.pojo.pdaggregation;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 取件、派件任务信息表
 * </p>
 *
 * @author PinDaLogistics
 * @since 2024-08-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="PdTaskPickupDispatch对象", description="取件、派件任务信息表")
public class PdTaskPickupDispatch implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "id")
      @TableId(value = "id", type = IdType.AUTO)
    private String id;

    @ApiModelProperty(value = "关联订单id")
    private String orderId;

    @ApiModelProperty(value = "任务类型，1为取件任务，2为派件任务")
    private Integer taskType;

    @ApiModelProperty(value = "任务状态，1为待执行（对应 待上门和须交接）、2为进行中（该状态暂不使用，属于保留状态）、3为待确认（对应 待妥投和须交件）、4为已完成、5为已取消")
    private Integer status;

    @ApiModelProperty(value = "签收状态(1为已签收，2为拒收)")
    private Integer signStatus;

    @ApiModelProperty(value = "网点ID")
    private String agencyId;

    @ApiModelProperty(value = "快递员ID")
    private String courierId;

    @ApiModelProperty(value = "预计开始时间")
    private Date estimatedStartTime;

    @ApiModelProperty(value = "实际开始时间")
    private Date actualStartTime;

    @ApiModelProperty(value = "预计完成时间")
    private Date estimatedEndTime;

    @ApiModelProperty(value = "实际完成时间")
    private Date actualEndTime;

    @ApiModelProperty(value = "确认时间")
    private Date confirmTime;

    @ApiModelProperty(value = "取消时间")
    private Date cancelTime;

    @ApiModelProperty(value = "任务分配状态(1未分配2已分配3待人工分配)")
    private Integer assignedStatus;

    @ApiModelProperty(value = "备注")
    private String mark;

    @ApiModelProperty(value = "任务创建时间")
    private Date createTime;


}
